package org.swxjava.core.json;

import java.util.ArrayList;

import org.json.simple.JSONArray;
import org.json.simple.JSONValue;
import org.swxjava.util.StringUtils;

public class DefaultJsonParser implements JsonParser {

	/* (non-Javadoc)
	 * @see org.swxjava.json.JsonParser#parse(java.lang.String)
	 */
	public Object[] parse(String jsonStr) throws JsonException {
		if(StringUtils.isBlank(jsonStr) || jsonStr.equals("undefined")) {
			// no params
			return null;
		}
		return reflectJson(JSONValue.parse(jsonStr));
	}
	
	private Object[] reflectJson(Object jsonValue) {
		ArrayList params = new ArrayList();
		if(jsonValue instanceof JSONArray) {
			JSONArray array = (JSONArray) jsonValue;
			params = array;
		}
		return  params.toArray();
	}

}
